package com.order.domain.dto;

import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author 小杰大人
 * @since 2025-09-29
 */
@Getter
@Setter
@ToString
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderPaymentDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单ID
     */
    private Long id;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 订单总金额
     */
    private BigDecimal totalAmount;

    /**
     * 订单标题
     */
    private String subject;

    /**
     * 实际支付金额
     */
    private BigDecimal payAmount;

    /**
     * 支付方式 1:支付宝 2:微信
     */
    private Byte paymentType;

    /**
     * 支付时间
     */
    private LocalDateTime paymentTime;

    /**
     * 支付流水号
     */
    private Long paymentSerialNumber;

    /**
     * 订单状态 1:待支付 2:已支付 3:已完成 4:已取消 5:已退款
     */
    private Byte status;

    /**
     * 订单备注
     */
    private String remark;

    /**
     * 课程ID
     */
    private Long courseId;

    /**
     * 课程名称
     */
    private String courseName;
    /**
     * 购买数量
     */
    private Integer quantity;

    /**
     * 课程原价
     */
    private BigDecimal oriPrice;

    /**
     * 课程现价
     */
    private BigDecimal curPrice;
}
